package cn.fl.system.service;

import java.util.List;

import cmm.mid.core.framework.page.KeyValueVO;
import cmm.user.facade.system.condition.SysResourceQueryCondition;
import cn.cmm.base.framework.exception.BaseException;
import cn.fl.system.vo.SysRoleResRVO;
import net.sf.json.JSONObject;

/**
 * @Description: 系统角色-资源关系表 客户端服务层接口
 * 业务层方法名称前缀：
 * 新增：add*
 * 删除：remove*
 * 修改：modify*
 * 查询对象：select* get*
 * 查询集合：search*
 */
public interface ISysRoleResRService {
	
	/**
	 * 获取唯一对象
	 * @param id 主键
	 * @return 对象DTO
	 */
	public SysRoleResRVO selectById(Long id)throws BaseException;
	
	 /**
     * 角色类型<KEY,VALUE>集合
     * @return <KEY,VALUE>集合
     */
    public List<KeyValueVO> searchResTypCdList()throws BaseException;
    
	 /**
	 * 是否
     * 角色类型<KEY,VALUE>集合
     * @return <KEY,VALUE>集合
     */
    public List<KeyValueVO> searchIsVisCdList()throws BaseException;

    /**
     * 授权方法
     * @param entity
     * @return
     */
    public boolean addAuth(Long roleId,List<SysRoleResRVO> list)throws BaseException;

    /**
     * 分页查询所有
     * @param page
     * @return
     */
    //public Pager searchListPage(Pager page)throws BaseException;
   /* *//**
	 * 通过角色id得到资源树
	 *//*
	public JSONArray searchResRByRoleId(Long roleId,SysResourceQueryCondition condition)throws BaseException;*/
	/**
	 * 通过角色id返回JSONObject
	 */
	public JSONObject searchResRByRoleId(Long roleId,SysResourceQueryCondition condition)throws BaseException;
	/**
	 * 通过资源id集合返回JSONObject
	 */
	public JSONObject searchResRByResRIdList(List<Long> resId,SysResourceQueryCondition condition)throws BaseException;
	/**
	 * 权限继承 
	 * @param curRoleId 当前id
	 * @param extRoleId 继承id
	 * @throws BaseException
	 */
	public boolean modifyExtendsResR(Long curRoleId,Long extRoleId)throws BaseException;
    
}
